Doom Emacs 包管理
Doom Emacs 不使用内置于 Emacs 的 package.el,而是基于 straight.el 构建了自己的声明式包管理器。
如何安装包
在 Doom Emacs 打开状态下,SPC f p
打开配置:
首先打开 .doom.d/package.el
,声明包依赖,比如:
(package! copilot
:recipe (:host github :repo "zerolfx/copilot.el" :files ("*.el" "dist")))
之后关闭当前文件,执行 doom refresh
。
再打开 .doom.d/config.el
进行包的设置:
(use-package! copilot
:hook (prog-mode . copilot-mode)
:bind (:map copilot-completion-map
("<tab>" . 'copilot-accept-completion)
("TAB" . 'copilot-accept-completion)
("C-TAB" . 'copilot-accept-completion-by-word)
("C-<tab>" . 'copilot-accept-completion-by-word)))
更多设置技巧:
def-package!
用于设置包的宏space h help
查找方法的 man pages:init
初始化回调:config
初始化后的设置回调:after
制定本包在哪个包之后加载
包的声明方式
基础安装方式
包在 packages.el
文件中声明。例如:
(package! example)
新包的安装需要运行 doom sync
。
从外部源安装包
可以直接从外部源(如 GitHub、GitLab 等)安装包,需要指定 MELPA 样式的 straight
配方。例如:
(package! example :recipe (:host github :repo "username/my-example-fork"))
指定特定提交
Doom 的包默认被固定到特定提交。可以使用 :pin
属性或 unpin!
宏来固定或取消固定包。
禁用包
使用 :disable
属性或 disable-packages!
宏来禁用不需要的包。
使用/加载本地包
如果正在本地开发一个 Emacs 包并希望进行实时测试,可以在包的配方中指定 :local-repo
。例如:
(package! my-package :recipe (:local-repo "/path/to/my/package"))
本文作者:Maeiee
本文链接:Doom Emacs 包管理
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!